Outline

Previously On...

State of The Union

Taking Our Own Advice...

Previously On…

Outline

Previously On…

State of The Union

Taking Our Own Advice…

Castellum@ESI

It all started with an Email (03/2022)

Castellum@ESI

Beta Test 05/2022

  • debug logging activated
  • access for 5 beta testers
  • dummy data only
. . . 
2022/05/12 17:04:05 [error] 46693#0: *1 open() "/opt/castellum/collected_static/admin/css/base.css" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/css/base.css HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/"
2022/05/12 17:04:05 [error] 46693#0: *1 open() "/opt/castellum/collected_static/admin/css/nav_sidebar.css" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/css/nav_sidebar.css HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/"
2022/05/12 17:04:05 [error] 46693#0: *1 open() "/opt/castellum/collected_static/admin/js/nav_sidebar.js" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/js/nav_sidebar.js HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/"
2022/05/12 17:04:05 [error] 46699#0: *4 open() "/opt/castellum/collected_static/admin/css/dashboard.css" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/css/dashboard.css HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/"
2022/05/12 17:04:05 [error] 46693#0: *1 open() "/opt/castellum/collected_static/admin/css/responsive.css" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/css/responsive.css HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/"
2022/05/12 17:04:14 [error] 46693#0: *1 open() "/opt/castellum/collected_static/admin/css/base.css" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/css/base.css HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/castellum_auth/user/"
2022/05/12 17:04:14 [error] 46699#0: *4 open() "/opt/castellum/collected_static/admin/css/nav_sidebar.css" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/css/nav_sidebar.css HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/castellum_auth/user/"
2022/05/12 17:04:14 [error] 46693#0: *1 open() "/opt/castellum/collected_static/admin/js/nav_sidebar.js" failed (2: No such file or directory), client: 10.100.3.250, server: subjects.esi.local, request: "GET /static/admin/js/nav_sidebar.js HTTP/1.1", host: "subjects.esi.local", referrer: "https://subjects.esi.local/admin/castellum_auth/user/"
. . . 

Castellum@ESI

Go-Live 12/2022

  • real participants of two pilot studies
  • access only for people running human-subject studies
  • set up as critical infrastructure system
  • Test Instance mimicking the production setup:
    • access for everyone at ESI (testing + training)
    • playground for users (and admins!)
    • dummy data only

Castellum@CoBIC

Alpha Test 11/2024

Can it do

  • scheduling?
  • bookings?
  • accounting?

Castellum@CoBIC

State of The Union

Outline

Previously On…

State of The Union

Taking Our Own Advice…

Castellum@ESI

  • 16 studies
  • 26 users

Castellum@CoBIC

Ready…

Everything Is Awesome!

…we are now getting close to starting our EEG experiments, and without Stefan we are struggling to set up a Castellum thingy for that. Could we meet together with the three of us to get things running?

I inserted a new study in Castellum and would like for it to get approved. Since Stefan is away I wanted to ask if maybe anyone else could approve the study? Thank you very much!

I only heard that there is a challenge where you were only given 1 account for the whole lab, which is really not workable, I hope it got resolved. I think issues like this would be easier to discuss if Stefan is present.

Taking Our Own Advice…

Outline

Previously On…

State of The Union

Taking Our Own Advice…

September 2023

Lesson #1: Roles + Responsibilities

First: Assign Tasks and Responsibilities

Then: Set up Castellum Accounts + Roles afterwards

  • global roles are usually the easy part
    (instance admin, DPO, Scientific Coordinator etc.)
  • study specific roles can be tricky
    (I’ll probably just collect data but I might want to enrol subjects too…) ➞ permission creep

Lesson #1: Roles + Responsibilities

First: Assign Tasks and Responsibilities

Then: Set up Castellum Accounts + Roles afterwards

  • global roles are usually the easy part
    (instance admin, DPO, Scientific Coordinator etc.)
  • study specific roles can be tricky
    (I’ll probably just collect data but I might want to enrol subjects too…) ➞ permission creep

Lesson #2: Onboarding

Set up an Onboarding Strategy

  • best case: dedicated Castellum Team
  • next best thing: hierarchical onboarding
  • worst case: learn on the job

A Playground Instance is really, really helpful!
(Bug your IT about it! Tell ’em that no one wants to fix things in production!)

Lesson #2: Onboarding

Set up an Onboarding Strategy

  • best case: dedicated Castellum Team
  • next best thing: hierarchical onboarding
  • worst case: learn on the job

A Playground Instance is really, really helpful!
(Bug your IT about it! Tell ’em that no one wants to fix things in production!)

Lesson #2.1: Onboarding

Set up an Onboarding Strategy

  • best case: dedicated Castellum Team
  • next best thing: Learning Management System (LMS)
  • worst case: learn on the job

A Playground Instance is essential!

Onboarding@ESI

Lesson #3: DMP

Castellum comes to you powered by your local
Data Management Plan (DMP)

  • best case: single unified consistent DMP across the entire institution
  • next best thing: each study its own (clearly documented!) DMP
  • worst case: I know where my files are…

Lesson #3: DMP

Castellum comes to you powered by your local
Data Management Plan (DMP)

  • best case: single unified consistent DMP across the entire institution
  • next best thing: each study its own (clearly documented!) DMP
  • worst case: I know where my files are…

DMPs

Lesson #4: Requirements Engineering

Consider Domain-Specific Requirements

  • worst case: we cross that bridge when we get to it

Lesson #4: Requirements Engineering

Consider Domain-Specific Requirements

  • next best thing: play out new studies in your Playground Instance
  • worst case: we cross that bridge when we get to it

Lesson #4: Requirements Engineering

Consider Domain-Specific Requirements

  • best case: catalogue all domain-specific requirements and how to map them to Castellum
  • next best thing: play out new studies in your Playground Instance
  • worst case: we cross that bridge when we get to it

Lesson #4: Requirements Engineering

Consider Domain-Specific Requirements

  • best case: catalogue all domain-specific requirements and how to map them to Castellum
  • next best thing: play out new studies in your Playground Instance
  • worst case: we cross that bridge when we get to it

Lesson #5: Castellum Use Policy

Make Castellum Mandatory

  • worst case: mix and match

Lesson #5: Castellum Use Policy

Make Castellum Mandatory

  • next best thing: few ongoing studies outside Castellum, new studies inside Castellum
  • worst case: mix and match

Lesson #5: Castellum Use Policy

Make Castellum Mandatory

  • best case: all human-subject research managed by Castellum
  • next best thing: few ongoing studies outside Castellum, new studies inside Castellum
  • worst case: mix and match

Lesson #5: Castellum Use Policy

Make Castellum Mandatory

  • best case: all human-subject research managed by Castellum
  • next best thing: few ongoing studies outside Castellum, new studies inside Castellum
  • worst case: mix and match

Lesson #6: Changes Are Hard

Transition Period can be bumpy.

Our Open Questions:

  • Migrate ongoing studies? Yes
  • “Hybrid” studies most probably a bad idea (unless huge subject pool and very long running)? Absolutely Yes
  • Import old finished studies? No

Lesson #6: Changes Are Hard

Transition Period can be bumpy.

Our Open Questions:

  • Migrate ongoing studies? Yes
  • “Hybrid” studies most probably a bad idea (unless huge subject pool and very long running)? Absolutely Yes
  • Import old finished studies? No

Never Stop Learning…

  • Broken Onboarding is first confusing then damaging
  • The really hard problems are not technical
  • Everything takes longer than you expect
  • Adding people to a late project makes it later